package com.tedu.api.ee;

import org.junit.Test;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.UnsupportedEncodingException;

/**
 *  考试题：throw与throws区别
 *                            异常关键字：throw:主动抛出异常 不解决
 *                                     语法：定义在方法体当中 如果执行throw 一定会抛出异常对象  RunTimeException
 *                                         指定主动抛出异常对象名字
 *                                        throw new   RunTimeException ()
 *                                        特点：定义一个异常 原因程序不合理
 *
 *                                     throws:抛出异常不解决     【被动抛出异常】
 *                                     语法：定义在单元方法或者主方法后面 通常跟着异常的对象名称 多个异常对象
 *                                     throws IOException，Exception
 *                                     特点：抛出异常中存在较大的异常，小异常去掉 包括小异常！
 *                                         抛出异常都是同等级：都是小异常类型
 *
 *    RunTimeException 运行期异常：①主动产生异常
 *                              ②控制台产生异常
 */
public class Person {
    private int age; //稀有属性

    public int getAge() {
        return age;
    }
    public void setAge(int age) {//设置年龄：0-128岁，主动抛出异常
        if(age<0  ||  age>128){//判断：人 年龄一定在0-128岁之间
            //如果：人 年龄超过0-128岁之间   主动抛出异常【true】
            throw new RuntimeException("年龄不合规-");

        }
        this.age = age;
    }

    public static void main(String[] args) {
        Person pe=new Person();
        pe.setAge(120);
        System.out.println("我的年龄是："+ pe.getAge()+"岁");
    }
}
